The present invention relates to a liquid ejecting apparatus and a method of transferring image data, and in particular to a liquid ejecting apparatus that sequentially transfers image data, which are stored in an image buffer, to a liquid ejecting head to perform liquid ejecting processing and a method of transferring image data.
Recently, for example, a printer of an ink jet system has been known as one of printing apparatuses. In recent years, even if such a printer is not connected to a host computer such as a personal computer, the printer alone can perform print processing as a so-called standalone machine. In the printer of this type, a series of image processing such as color conversion processing and binarization processing is realized by, for example, a control ASIC that is connected to a CPU via a bus. A memory (e.g., SDRAM), from which the ASIC can read data and in which the ASIC can write data directly, is connected to this control ASIC. An image buffer or the like for storing respective image data (specifically, dot data indicating presence or absence of a dot format) supplied to a print head is established using this memory.
In such a printer, the image data stored in the image buffer are read in a memory (e.g., SDRAM, hereinafter referred to as “CPU memory”), from which the CPU can read data and in which the CPU can write data directly, once under control of the CPU and, then, sequentially transferred to the print head. On the basis of the respective color image data received in this way, the print head discharges ink droplets of the respective colors from nozzles corresponding to the colors to thereby form an image.
However, in the related constitution described above, there are following problems.
First, since the transfer of the image data to the print head is performed on the basis of the control of the CPU, there is a problem in that a processing load on the CPU increases. The printers in recent years are desired to have more functions and more complicated functions. Therefore, it is desirable to reduce processing executed by the CPU as much as possible.
Second, when the transfer of the image data is performed on the basis of the control of the CPU in this way, there is a problem in that head gaps of the print head are limited to a fixed value. Specifically, the head gaps are formed among nozzle rows corresponding to the respective colors in the print head. Therefore, in order to form (hit) ink dots discharged from the respective color nozzles in a position of an identical pixel on a print medium, it is necessary to give null data (data having “0” in all bits) to the image data of the respective colors and transfer the image data in an attempt to fill such head gaps. In other words, it is necessary to shift timing for transferring the image data of the respective colors for each color in association with the head gaps (this is called null gap).
When such data transfer is performed on the basis of the control of the CPU, the CPU has to manage the transfer of the image data for the respective colors collectively. Thus, in order to transfer the image data without decreasing processing efficiency of the CPU as much as possible, the head gaps are limited to a fixed value that depends on a size of the image data sequentially read in the CPU memory. In order to solve this problem, it is conceivable to adopt a method of giving null data of a predetermined transfer amount, which corresponds to the head gaps, to the image data in advance and storing the null data in the image buffer. However, this method is not suitable because a size of the image buffer is increases.
Third, a sensor for detecting a print medium such as a sheet is usually provided in the printer. The printer performs printing while confirming, as occasion arises, that there is a sheet (specifically, a sheet corresponding to a print area equivalent to the number of nozzles) for each scan by the print head on the basis of a result of detection by this sensor. Here, a problem occurs when lack of a sheet is detected at the time when scan of the print head is started, for example, when a size of a sheet actually set is smaller than a sheet size set in the printer. In this case, image data corresponding to the number of nozzles of the print head, which should be transferred to the print head, have already generated and stored on the image buffer. There is a problem in that, if the image data are transferred to the print head, ink droplets are discharged to an area out of a sheet (an extra-print area).